home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagg_m.zip / MEMORY.SWG / 0033_Get ALL the Memory.pas < prev    next >
Pascal/Delphi Source File  |  1993-11-02  |  1KB  |  42 lines

  1. {
  2. MARK OUELLET
  3.  
  4. Compile for Protected Mode in BP 7.x}
  5.  
  6. {$A+,B-,D+,E+,F-,G+,I+,L+,N-,P-,Q-,R-,S+,T-,V+,X+,Y+}
  7. {$M 16384,0}
  8.  
  9. type
  10.         MyElement = longint;
  11.  
  12. const
  13.         Chunk    = 65520 div sizeof(MyElement);
  14.   ChunkCnt = 10;
  15.         Limit    : longint = Chunk * ChunkCnt - 1;
  16.  
  17. type
  18.         HeapArrPtr = ^HeapArr;
  19.         HeapArr    = array [0..(Chunk - 1)] of MyElement;
  20.         BigHeapArr = array [0..(ChunkCnt - 1)] of HeapArrPtr;
  21.  
  22. var
  23.         MyHeap : BigHeapArr;
  24.   Index  : longint;
  25.  
  26. begin
  27.         for Index := 0 to ChunkCnt-1 do
  28.           new(MyHeap[Index]);
  29.   for Index := 0 to Limit do
  30.           MyHeap[Index div Chunk]^[Index mod Chunk] := Index;
  31.   for Index := 0 to Limit do
  32.           writeln(Index:10,MyHeap[Index div Chunk]^[Index mod Chunk]:10);
  33.   for Index := 0 to ChunkCnt-1 do
  34.     dispose(MyHeap[Index]);
  35. end.
  36.  
  37. {
  38. I just tested it and it stored 163,800 Longintegers on the heap. The
  39. nice thing is you could make this into an Object with SET and GET
  40. methods and treat it as a 163800 element array.
  41. }
  42.